/**
 * 工具类
 */

const parseQueryString = (queryStr) => {
	const result = {};
	queryStr.split(',').forEach(pair => {
		const [key, value] = pair.split('=');
		if (key && value) result[key.trim()] = value.trim();
	});
	return result;
}
const navigateToMiniProgram = (targetAppId, path) => {
	// #ifdef MP-WEIXIN
	uni.navigateToMiniProgram({
		appId: targetAppId,
		path: path || '',
		success() {
			console.log('小程序跳转成功');
		},
		fail(err) {
			console.log(err)
		}
	});
	// #endif

	// #ifdef H5
	uni.showModal({
		content: 'H5不支持该跳转'
	});
	// #endif

	// #ifdef APP-PLUS
	appJumpMiniPro(targetAppId, path);
	// #endif
}
const appJumpMiniPro = function(id, url) {
	// #ifdef APP
	// 获取分享服务列表
	plus.share.getServices(
		res => {
			let sweixin = '';
			for (var i = 0; i < res.length; i++) {
				let t = res[i];
				if (t.id == 'weixin') {
					sweixin = t;
				}
			}
			console.log(sweixin)
			if (sweixin) {
				console.log('sweixin');
				console.log(id);
				console.log(url);
				sweixin.launchMiniProgram({
						id: id, // 要跳转小程序的原始ID
						path: url || '/', //  可带参数
						type: 0 // 微信小程序版本类型可取值： 0-正式版； 1-测试版； 2-体验版。 默认值为0。
					},
					// 目标小程序点击返回App后执行的回调，在此接收微信小程序传递的参数
					res2 => {
						console.log(typeof res2, res2)
						// res2是微信小程序传递回来的参数 类型为string 需转化为js对象使用
						let result = JSON.parse(res2)
						console.log(result)
						// 拿到参数后执行你需要的逻辑
					},
					err2 => {
						console.log(err2)
					}
				);
			} else {
				// 没有获取到微信分享服务
				uni.showToast({
					icon: 'none',
					title: '当前环境不支持微信操作!'
				})
			}
		},
		err => {
			// 获取分享服务列表失败
			console.log(err)
		}
	)
	// #endif

}
var jump = {
	checkAndNavigate(queryStr) {
		const params = parseQueryString(queryStr);

		if (params.targetGhId || params.targetAppId) {
			let appid = '';
			// #ifdef APP
			appid = params.targetGhId;
			// #endif
			// #ifndef APP
			appid = params.targetAppId;
			// #endif
			console.log(appid)
			if (appid) {
				// 调用跳转方法
				navigateToMiniProgram(appid, params.path);
			} else if (!appid) {
				uni.showModal({
					title: '无法跳转到该小程序',
					showCancel: false
				})
			}
			return false
		} else {
			return true
		}
	},

};
export default jump;